import { defineConfig, loadEnv } from "vite";
import postcssPresetEnv from "postcss-preset-env";
const absPath = (retivePath) => path.resolve(process.cwd(), retivePath)

export default defineConfig(({ mode, command }) => {
    // mode 跟命令行的mode绑定 默认是 development、production
    // command 就是执行的具体vie命令 serve、build
    // loadEnv 方法是Js的API会自动加在对应.env.[mode]的文件：详见文档
    console.log(loadEnv(mode, absPath('./env')));
    return {
        // 用于加载 .env 文件的目录。可以是一个绝对路径，也可以是相对于项目根的路径。
        envDir: './env',
        // 以 envPrefix 开头的环境变量会通过 import.meta.env 暴露在你的客户端源码中
        envPrefix: 'VITE_',
        css: {
            // 开启css的sourceMap
            devSourcemap: true,
            preprocessorOptions: {
                scss: {
                    additionalData: `$injectedColor: orange;`,
                },
                less: {
                    // 传递给对应的css预处理器的配置项
                    math: 'always',
                },
                styl: {
                    define: {
                        $specialColor: new stylus.nodes.RGBA(51, 197, 255, 1),
                    },
                },
            },
            // postcss 预设 也可以通过postcss.config.js配置
            postcss: {
                plugins: [postcssPresetEnv]
            }
        },
        resolve: {
            alias: {
                '@': path.resolve(__dirname, './src')
            }
        }
    }
})